package avaliacao.Handler;

import avaliacao.Constantes;
import avaliacao.DAO.DAOUniversidade;
import avaliacao.DTO.DTOUniversidade;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class EdicaoUniversidadeHandler implements HandlerInterface{
    DAOUniversidade daoUniversidade = new DAOUniversidade();

    public String process(HttpServletResponse response, HttpServletRequest request) {
        DTOUniversidade universidade = new DTOUniversidade();
        String resultado = Constantes.MEC_OK_EDICAO;

        universidade.setNome(request.getParameter(Constantes.MEC_UNIVERSIDADE_NOME_FORM_CAMPO));
        universidade.setLogradouro(request.getParameter(Constantes.MEC_UNIVERSIDADE_LOGRADOURO_FORM_CAMPO));
        universidade.setNumero(request.getParameter(Constantes.MEC_UNIVERSIDADE_NUMERO_FORM_CAMPO));
        universidade.setComplemento(request.getParameter(Constantes.MEC_UNIVERSIDADE_COMPLEMENTO_FORM_CAMPO));
        universidade.setCidade(request.getParameter(Constantes.MEC_UNIVERSIDADE_CIDADE_FORM_CAMPO));
        universidade.setEstado(request.getParameter(Constantes.MEC_UNIVERSIDADE_ESTADO_FORM_CAMPO));
        universidade.setPais(request.getParameter(Constantes.MEC_UNIVERSIDADE_PAIS_FORM_CAMPO));
        universidade.setTelefone(request.getParameter(Constantes.MEC_UNIVERSIDADE_TELEFONE_FORM_CAMPO));
        universidade.setDdd(request.getParameter(Constantes.MEC_UNIVERSIDADE_DDD_FORM_CAMPO));
        universidade.setDdi(request.getParameter(Constantes.MEC_UNIVERSIDADE_DDI_FORM_CAMPO));
        universidade.setId(Integer.parseInt(request.getParameter(Constantes.MEC_ATRIBUTO_UNIVERSIDADE_ID)));

        if (!(new FormularioUniversidadeHandler()).verificarCampos(universidade))
            resultado = Constantes.MEC_ERR_PREENCHIMENTO_FORM_INVALIDO;

        if(!resultado.equals(Constantes.MEC_ERR_PREENCHIMENTO_FORM_INVALIDO) &&
                !daoUniversidade.atualizarUniversidade(universidade))
        {
            resultado = Constantes.MEC_ERR_CADASTRO;
        }

        request.setAttribute(Constantes.MEC_ATRIBUTO_STATUS, resultado);
        request.setAttribute(Constantes.MEC_UNIVERSIDADE_NOME_FORM_CAMPO, universidade.getNome());

        return "/edicaoUniversidade.jsp";
    }

}
